// pages/my/my.js
let app = getApp() //可以使用app.js中的 变量 和 函数
let db = wx.cloud.database() //链接数据库
Page({

  /**
   * 页面的初始数据
   */
  data: {
    currentIndex_cz: 0, //控制用户点击提取码时的索引，创作栏
    currentIndex_tq: 0, //控制用户点击提取码时的索引，提取栏
    isShowUserInfo: false, //控制是否显示用户信息
    userInfo: null,
    openid: '',

    //之后从数据库中获取用户的 提取码信息
    alreadyChuangZuo: [{
        name: '第一次尝试',
        tiQuMa: 123456
      },
      {
        name: '第二次尝试',
        tiQuMa: 456789
      }
    ], //存放已创作的作品,格式：作品名+提取码
    alreadyTiQu: [{
        name: '第一次尝试',
        tiQuMa: 123456
      },
      {
        name: '第二次尝试',
        tiQuMa: 456789
      }
    ] //存放以提取的作品：作品名+提取码
  },

  //<button bindgetuserinfo="onGotUserInfo"> 该按钮的作用是可以返回获取到的用户信息，但是不会获得用户的openid
  //获取openid必须通过 云函数，因此在app.js中写了那些代码
  //用户初次登陆时 进行的操作
  onGotUserInfo(e) {
    console.log('获取用户信息', e)
    if (e.detail.userInfo) { //用户同意授权后
      let user = e.detail.userInfo

      this.setData({
        isShowUserInfo: true,
        userInfo: e.detail.userInfo,
        openid: app.globalData.openid
      })
      user.openid = app.globalData.openid
      app._saveUserInfo(user)
    } else { //用户没有授权，进行提示
      app._showSettingToast('登录需要进行授权')
    }
  },

  //获取用户的点击，用户单击对应 提取码后提示是否加载提取码
  handleItemTap(event) {
    console.log('用户点击了', event.currentTarget.dataset)
    let index = event.currentTarget.dataset.index
    let tiQuMa = event.currentTarget.dataset.tiquma
    if (event.currentTarget.dataset.cz) {
      this.setData({ //实时更新用户点击索引，以便更新样式
        currentIndex_cz: index
      })
      console.log('单击了创作')
      this.loadTiQuMa(tiQuMa)
    }
    if (event.currentTarget.dataset.tq) {
      this.setData({ //实时更新用户点击索引，以便更新样式
        currentIndex_tq: index
      })
      console.log('单击了提取')
      this.loadTiQuMa(tiQuMa)
    }
  },

  //用户单击提取码后的提示框
  loadTiQuMa(tiQuMa) {
    wx.showModal({
      title: '提示！',
      confirmText: '加载',
      content: '是否加载该提取码？'
    }).then(res => {
      console.log('用户的选择', res)
      if (res.confirm) {
        console.log('用户加载了提取码', tiQuMa) //用户单击加载后，需要从数据库中加载新的数据
      }
    })
  },

  //判断用户信息在数据库中是否已经存在
  isUserUpLoad(){
    let openid = app.globalData.openid
    db.collection('user').where({
      _id: openid
    }).get().then(res => { //从数据查询，是否有该用户的信息
      if (res.data && res.data.length > 0) { //表明数据库中有该用户的数据
        console.log('用户已登录')
        this.setData({
          isShowUserInfo: true,
          userInfo: res.data[0].user
        })
      }
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.isUserUpLoad()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.isUserUpLoad()
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})